//
//  CAIBehaviorMove.h
//  beast_tamer
//
//  Created by  bk on 13/1/22.
//
//

#ifndef beast_tamer_CAIBehaviorMove_h
#define beast_tamer_CAIBehaviorMove_h

#include "CAIManager.h"
#include "CBaseAI.h"
#include "AIDef.h"
#include "CProcessFunctions.h"
#include "point.h"

using namespace MMA;
class CBattleObject;
class CAIBehaviorMove : public CAIBehavior , public CProcessFunctions<CAIBehaviorMove>
{
public:
    
    enum Fun
    {
        Move =0,
    };
    
    enum
    {
        MonsterDistance = 1,
    };
    
    CAIBehaviorMove();
    
    virtual ~CAIBehaviorMove();
    
    virtual bool Init(CAIManager*);
    
    virtual void Entering(IStateInput*);
    
    virtual void Update(IStateInput*);
    
    virtual void Leaving(IStateInput*);
    
    virtual int ShouldChange(IStateInput*);
    
protected:
    
    //bool CheckMasterIsEnterLayer();
    
    void onProcessMove();
    
private:
    
    fPoint targetPoint;
    //CBattleObject* targetObject;
    
};

#endif
